home *** CD-ROM | disk | FTP | other *** search
-
-
- /*************************************************************************
- ** *
- ** Initab.h is the definition file for the X.25 initialization tables *
- ** *
- **-----------------------------------------------------------------------*
- ** *
- ** Copyright Apple Computer, Inc. 1987-88 *
- ** All Rights Reserved *
- ** Apple Computer Confidential *
- ** *
- **-----------------------------------------------------------------------*
- ** *
- ** Comments: The definitions FILL and FILLM define table extension area *
- ** that INITAB will depend on, therefore the parameters provided to *
- ** INITAB.c must not exceed the table space reserved here. *
- ** *
- ** FILLM = Number of buffer pools defined x 2 *
- ** FILL = Number of PVCs defined x 8 *
- ** *
- ** *
- ** *
- *************************************************************************/
-
-
-
- #ifndef MAXLINES
- #define MAXLINES 1 /* the number of lines in the system */
- /* a SYSTEM wide global!! */
- #endif /* MAXLINES */
-
- #define FILL 16 /* link table area for packet/frame */
- #define FILLM 26 /* link table area for monitor/switch */
-
-
- /* These two structs make up the inviolate region of the table */
- struct mon_struc { /* these pertain to monitor
- initialization */
- UWORD buff_offset; /* offset into the fill area for pool
- buffer info */
- UWORD prior_offset; /* order of priority of processes */
- UBYTE num_pools; /* number of pools to generate */
- UBYTE num_eventcells; /* number of event cells to gernerat */
- UBYTE shrt_tmouts; /* number of short timeouts */
- UBYTE lng_tmouts; /* number of long timeouts */
- UBYTE prior_len; /* length of priority table */
- UBYTE u_mn1_def; /* user defined variables */
- UBYTE u_mn2_def; /* user defined variables */
- UBYTE u_mn3_def; /* user defined variables */
- };
-
- struct swit_struc { /* this contains switch&adaptor values */
-
- UBYTE glun; /* level 3(packet) server lun number */
- UBYTE g2lun; /* level 2 (frame) server lun number */
- UBYTE lo_vc; /* Lowest lun for virtual circuits */
- UBYTE totl_lun; /* total num of luns/virtual circuts */
- UBYTE incall_num; /* num of incomming calls */
- UBYTE adapt_df; /* default adapter number */
- UBYTE lin_df; /* default line number to use */
- UBYTE max_adapt; /* max number of adapters */
- UBYTE hdr_buf; /* YES to allow open if server closed */
- UBYTE hdr_data; /* size in front of packets */
- UBYTE tmout_buf; /* time out, buff allocation */
- UBYTE eol_adapt; /* end of line char for adaptor */
- UBYTE eoh_adapt; /* end of host char for adaptor */
- UBYTE eon_adapt; /* end of net char for adaptor */
- UBYTE crmod; /* x29 carriage return mode*/
- UBYTE xraw; /* x29 raw io */
- UBYTE nb_flag; /* number of x29 flags */
- UBYTE io_parm_len; /* x29 length of the io param table */
- UBYTE io_parm; /* x29 offset to the io param table */
- UBYTE io_getc_len; /* x29 length of the getc table */
- UBYTE io_getc; /* x29 offset to the getc table */
- UBYTE term_off; /* offset to terminal characteristics */
- UBYTE maxid_sz;
- UBYTE u_1swit;
- UWORD max_sna;
- UBYTE num_uucp; /* number of lun used for uucp */
- UBYTE offset_uucp; /* offset to fill area */
- UBYTE u_2swit; /* user definable parameter */
- UBYTE u_3swit; /* user definable parameter */
- };
-
-
- #ifdef LMS
- struct lms_g_struc {
- /*
- ** Inviolate part of LMS intialization table
- */
-
- UWORD max_hex; /* Maximum data to display */
- UBYTE type_lms; /* Host or port */
- UBYTE lms_validation; /* LMS used or not (g_lms_used) */
- UBYTE lms_fvd ; /* Default frame validation */
- UBYTE lms_pvd ; /* Default packet validation */
- UWORD lms_fmd ; /* Default frame mask */
- UWORD lms_pmd ; /* Default packet mask */
- UBYTE trans_spd; /* async transmission speed */
- UBYTE parity; /* async parity */
- UBYTE wrd_size; /* async word size */
- UBYTE u_lms1; /* user defined variables */
- UBYTE u_lms2; /* user defined variables */
- UBYTE u_lms3; /* user defined variables */
- };
- #endif /* LMS */
-
- struct fram_struc { /* frame initialization (downloadable)
- */
- UWORD window; /* window size of the frame */
- UBYTE max_recvbuf; /* max number of receive bufs */
- UBYTE min_recvbuf; /* min number of receive bufs */
- UBYTE trans_spd; /* transmission speed on the line */
- UBYTE t1_tmout; /* t1 time out value */
- UBYTE t4_tmout ; /* t4 time out value (ISO) */
-
- UBYTE n2_rep; /* n2 repatition rate */
- UBYTE connect_md; /* connection mode */
- UBYTE dcd_p_tm ; /* DCD polling timer */
- UBYTE dcd_p_nb ; /* retry counter of DCD polling */
- UBYTE acu_mode ; /* ACU operation mode */
- UBYTE acu_timer ; /* the ACU operation timer */
-
- UBYTE term_md; /* terminal mode */
- UBYTE t3_tmout; /* SABM repeat rate after n2 */
- UBYTE clk_md; /* internal or external clock */
- UBYTE lap_md; /* LAP or LAPB */
- UBYTE modulo_f; /* frame level modulo number */
- UBYTE xid_p1; /* xid p1 time out */
- UBYTE xid_c2; /* xid c2 rep rate */
- UBYTE min_freebuf; /* RNR minimum number of free buffers */
- UBYTE to_busy; /* RNR short of buffers, busy timeout value */
- UBYTE u_frm1_def; /* user definable frame parameter */
- UBYTE u_frm2_def; /* user definable frame parameter */
- UBYTE u_frm3_def; /* user definable frame parameter */
- };
-
-
-
- struct pak_struc { /* packet initialization (downloadable) */
- UWORD line_type; /* type of line */
- UWORD pak_siz; /* max size of packet to receive */
- UWORD hi_chan; /* highest channel number + 1 */
- UWORD lo_pvc_chan; /* lowest pvc channel number */
- UWORD num_pvc; /* number of pvc's */
- UWORD lo_insvc; /* lowest incomming svc channel */
- UWORD in_num_svc; /* number of incomming svc's */
- UWORD lo_svc2; /* lowest 2 way svc channel */
- UWORD num_svc2; /* number of 2 way svc's */
- UWORD lo_outsvc; /* lowest outgoing svc channel */
- UWORD out_num_svc; /* number of outgoing svc's */
- UWORD rx_pkt_size; /* default length of input data pak
- (SVC) */
- UWORD tx_pkt_size; /* default length of output data (SVC)
- */
- UWORD rx_n_pkt; /* max input length of data packet (SVC)
- */
- UWORD tx_n_pkt; /* max output lenght of data packet
- (SVC) */
- UWORD rx_win_size; /* default len of in window (SVC) */
- UWORD tx_win_size; /* default len of out window (SVC) */
- UWORD rx_n_win; /* max in window size (SVC) */
- UWORD tx_n_win; /* max out window size (SVC) */
- UWORD pdn_code; /* code for public data network (0x3110
- for telenet) */
- UWORD t20_tmout; /* duration of t20 timer */
- UWORD t21_tmout; /* duration of t21 timer */
- UWORD t22_tmout; /* duration of t22 timer */
- UWORD t23_tmout; /* duration of t23 timer */
- UWORD t28_tmout; /* duration of t28 timer */
- UWORD t24_tmout; /* duration of t24 timer */
- UWORD t25_tmout; /* duration of t25 timer */
- UWORD t26_tmout; /* duration of t26 timer */
- UWORD pvc_offset; /* flow control for pvc use (PVC) */
- UBYTE net_type; /* network type */
- UBYTE modulo; /* mod 8 = 0, mod 128=1 */
- UBYTE glun_process; /* process num for glun */
- UBYTE negociation; /* throughput et flow ctrl nego */
- UBYTE call_forbid; /* forbid incoming calls */
- UBYTE out_call_bar; /* forbid outgoing calls */
- UBYTE fast_select; /* authorize fast select */
- UBYTE flow_ctrl; /* authorize flow control */
- UBYTE d_bit; /* authorize d bit usage (SVC) */
- UBYTE max_reset; /* max number of reset packets */
- UBYTE max_clear; /* max number of clear packets */
- UBYTE max_regist; /* max number of registration packet */
- UBYTE rx_def_thru; /* rx def throughput */
- UBYTE tx_def_thru; /* tx def throughput */
- UBYTE rx_max_thru; /* rx max throughput for negotiation */
- UBYTE tx_max_thru; /* tx throughput for negotiation */
- UBYTE sndrest; /* indicates restart sent on line up */
- UBYTE u_pak1_def; /* user definable packet parameters */
- UBYTE u_pak2_def; /* user definable packet parameters */
- UBYTE u_pak3_def; /* user definable packet parameters */
- UBYTE u_pak4_def; /* user definable packet parameters */
- UBYTE cug; /* closed user group selection */
- UBYTE bcug; /* Bilateral cug selection */
- UBYTE rev_charging; /* reverse charging acceptance */
- UBYTE datapac ;
- UBYTE registration ; /* on line registration facility */
- UBYTE local_charg_prev ; /* local charging prevention */
- };
-
-
- /*
- ** this structure is overlayed on the fill area for pvc use
- ** (the pvc subtable referenced by packet (pak_struc.pvc_offset).
- */
-
- struct pvc_struc {
- UWORD process; /* process number for the pvc */
- UWORD lun; /* lun number that is a pvc */
- UWORD rec_max; /* maximum receive packet length */
- UWORD send_max; /* maximum send packet length */
- UWORD rec_win; /* maximum window size for receiving */
- UWORD send_win; /* maximum window size for sending */
- UWORD d_bit; /* d bit authorized for this pvc (1|0) */
- UWORD flow_cntrl; /* flow control authorized for this pvc
- (1|0) */
- };
-
-
- /*
- ** this structure is overlayed on the monitor fill area for pool buffer
- ** use. The index into the fill area is equal to the pool number being
- ** initialized.
- */
-
- struct pool_buf {
- UWORD size_buf; /* size of each buffer in the pool */
- UWORD buf_num; /* number of buffers to allocat for that
- pool */
- };
-
-
-
- /*
- ** the two structures templates declared here are used by initab.c
- ** and all the init processes. They define the two segments of the
- ** initialization area, the monitor/switch section, (inviolate) and the
- ** packet/frame/lms area (dynamic).
- */
-
- struct monswt {
- struct mon_struc mon_tabl; /* monitor info */
- struct swit_struc swit_tabl; /* switch info */
- #ifdef LMS
- struct lms_g_struc lms_g_tabl; /* lms global info */
- #endif /* LMS */
- UWORD mlnk_tabl[FILLM];/* link area */
- };
-
-
- struct ini_struct {
- struct fram_struc frm_tabl; /* frame info */
- struct pak_struc pak_tabl; /* packet info */
- UWORD lnk_tabl[FILL];/* link area */
- };
-
-
- /*
- ** These define SOME of the network types
- ** They basically relate to the manner in which REJ packets are
- ** replied to. In the USA, (Telenet to a large part), a SABM
- ** is sent. In Europe (TRANSPAC) an FRMR and then a SABM is sent.
- */
-
- /************************************************************************
- ** #define TYPE_TRANSPAC 0x01
- ** #define TYPE_X25 0x02
- ** #define TYPE_TELENET 0x83
- ** #define TYPE_DDN 0x84
- ** #define TYPE_PSS 0x05
- ** #define USA_MSK 0x80
- ************************************************************************/
-